//
//package keter.service;
//
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
//
//import com.jfinal.aop.Before;
//import com.jfinal.aop.Enhancer;
//import com.jfinal.plugin.activerecord.Db;
//import com.jfinal.plugin.activerecord.Record;
//import com.jfinal.plugin.activerecord.tx.Tx;
//
//import keter.model.Role;
//import keter.model.User;
//import keter.security.AnonymousUserAdapter;
//
///**
// * <p>Class       : test.tx.CodeListServiceMock
// * <p>Descdription: 模拟codelist service类，用于"事务"测试
// * @author  顾力行-gulixing@msn.com
// * @version 1.0.0
// */
//public class UserService{
//    /**
//     * Logger for this class
//     */
//    private static final Logger logger = LoggerFactory.getLogger(UserService.class);
//    
//    //jFinal特效对象
////    public static UserService service = Duang.duang(UserService.class, Tx.class);
//    
//    public static UserService service = Enhancer.enhance(UserService.class);
//    
//    /**
//     * <p>Method ：saveDefaultRole
//     * <p>Description : 保存用户，并添加默认角色
//     * @return 
//     * @author  gulixing@msn.com
//     * @version 1.0.0
//     */
//    @Before(Tx.class)
//    public boolean saveWithDefaultRole(User user) {
//        Role role = Role.dao.findDefaultRole();
//    	return saveWithRole(user,role.getID()); 
//    }
//  
//    /**
//     * <p>Method ：saveRole
//     * <p>Description : 保存用户同时赋予特定的角色
//     * @param roleId
//     * @return 
//     * @author  gulixing@msn.com
//     * @version 1.0.0
//     */
//    @Before(Tx.class)
//    public boolean saveWithRole(User user, Object roleId) {
//        //不允许注册匿名用户
//        if(user.get("username").equals(AnonymousUserAdapter.ANONYMOUS_USERNAME)){
//            return true; 
//        }
//        if(user.exist(user.getStr("username"))){
//            return false; 
//        }
//        //密码加密处理
//        user.set("password",new BCryptPasswordEncoder().encode(user.getStr("password")));
//        //保存用户
//    	user.save();
//    	//保存用户和角色的对应关系
//    	Record userRole = new Record()
//    	.set("user_id", user.getID())
//    	.set("role_id", roleId);
//    	return Db.save("org_user_role", userRole);
//    }
//}
